Several mechanisms exist to verify that a computer system or system user can be trusted with sensitive information or data that a user desires to keep confidential. Computers running on a network are often used to perform sensitive tasks such as transferring money between users, accessing confidential information stored elsewhere, communicating with selected other users, and other actions where a user may desire to keep certain details confidential. Mechanisms used to verify whether a particular user can be trusted to perform an action include passwords, tokens, fingerprints, and the like. Mechanisms used to verify whether a system can to be trusted, or the degree to which it can be trusted, include certificates, Trusted Platform Module, and the like.
Despite these security measures, computer systems are still vulnerable to hackers and cyber thieves. For example, a cyber-thief or other imposter can install malicious programs, or malware, on an unsuspecting system, such as a keylogger, Trojan, proxy, or other malware that can compromise the security of the login or a transaction after login. Malware can be launched and controlled from a remote computer and can be nearly undetectable to an unsuspecting user without special software. In such cases, secure accounts or services become vulnerable to malicious programs that can exploit old or insecure program interfaces or otherwise compromise a computing device. Security programs such as antivirus software can detect and remove malicious programs if the security programs are kept up to date and regularly used.